Listin Gambas2
Création d'un programme en Gambas2 : un répertoire téléphonique pas à pas
Origine : http://listingambas.blogspot.com/2011/06/boton-aceptar-evento-add.htmlBouton Accepter : Ajouter un événement ().
Cela se fait avec l'événement Ajouter () :
PUBLIC SUB ButtonAcepter_Click()
'on
ajoute les données à la grille
var.id.add("Id" & Str$(Now))
var.dni.add(TextBoxDNI.text)
var.nom.add(TextBoxNom.Text)
var.prenoms.add(TextBoxPrenoms.Text)
var.entreprise.add(TextBoxEntreprise.Text)
var.poste.add(TextBoxPoste.Text)
var.tel_entreprise.add(TextBoxTelEntreprise.Text)
var.tel_perso.add(TextBoxTelPerso.text)
var.fax.add(TextBoxFax.Text)
var.mobile_entreprise.add(TextBoxMobileEntreprise.Text)
var.mobile_perso.add(TextBoxMobilePerso.Text)
var.page.add(TextBoxWEB.Text)
'Dans
photo on enregistre le chemin vers la photo
var.Photo.add(var.CheminPhoto)
var.adresse.add(TextBoxAdresse.Text)
var.Comments.add(TextBoxComments.Text)
var.Date_donnees.add(TextBoxDate.Text)
var.Mail.Add(TextBoxMail.Text)
'On
remet à vide la propriété .text des texboxes
TextBoxDNI.text = ""
TextBoxNom.text = ""
TextBoxPrenoms.text
= ""
TextBoxEntreprise.text
= ""
TextBoxPoste.text
= ""
TextBoxTelEntreprise.text
= ""
TextBoxTelPerso.text
= ""
TextBoxFax.text = ""
TextBoxMobileEntreprise.text
= ""
TextBoxMobilePerso.text
= ""
TextBoxWEB.text = ""
PictureBoxPhoto.Picture
= ""
TextBoxAdresse.text
= ""
TextBoxComments.text
= ""
TextBoxDate.text = ""
TextBoxMail.text = ""
'On
écrit dans la gridview les données saisies
titre.remplir()
'
Une
fois clické le bouton accepter , on met le
focus au début des données
TextBoxDNI.SetFocus
END
Et pour remplir notre gridviews avec les données saisies, nous allons appeler une routine dans le module titre : remplir
PUBLIC SUB remplir()
DIM a AS Integer
FMain.GridViewDonnees.Rows.COUNT = var.id.COUNT
FOR a = 0 TO var.id.COUNT - 1
WITH
FMain
.GridViewDatos[a, 0].Picture = Picture[var.Photo[a]]
.GridViewDatos[a, 1].text = var.nom[a]
.GridViewDatos[a, 2].text = var.prenoms[a]
.GridViewDatos[a, 3].text = var.dni[a]
.GridViewDatos[a, 4].text = var.entreprise[a]
.GridViewDatos[a, 5].text = var.poste[a]
.GridViewDatos[a, 6].text = var.tel_entreprise[a]
.GridViewDatos[a, 7].text = var.mobile_entreprise[a]
.GridViewDatos[a, 8].text = var.tel_perso[a]
.GridViewDatos[a, 9].text = var.mobile_perso[a]
.GridViewDatos[a, 10].text = var.fax[a]
.GridViewDatos[a, 11].text = var.mail[a]
.GridViewDatos[a, 12].text = var.page[a]
.GridViewDatos[a, 13].text = var.adresse[a]
.GridViewDatos[a, 14].text = var.comments[a]
.GridViewDatos[a, 15].text = var.date_donnees[a]
END WITH
NEXT
FMain.GridViewDonnees.Refresh
END
Remarques
sur
ce code:
1.
Nous
avons besoin de définir une variable "a" qui assurera
l'incrémentation dans la boucle For-Next
Nous
utilisons
Dim a as integer
2. Le nombre de lignes est égal au nombre de données existantes.
FMain.
GridViewDonnees
. Rows . COUNT
=
var. id
. COUNT
3. For – Next : comme nous avons commencé à partir de "0" COUNT est diminué de un.
3. For – Next : comme nous avons commencé à partir de "0" COUNT est diminué de un.
FOR a =
0 TO
var. id
. COUNT
-
1
De
cette
manière on remplit autant de lignes que nous avons de
données (property. COUNT)
4.WITH
–
END WITH : nous évitons d'écrir chaque fois fmain!
5.
Une fois définies, nous
devons
également réactualiser les données de gridviewDonnees.
ça se fait tout seul normalement, mais on ne sait jamais, le mieux est de forcer le rafraîchissement :
ça se fait tout seul normalement, mais on ne sait jamais, le mieux est de forcer le rafraîchissement :
Fmain.GridViewDonnees
. Refresh